#ifndef _OCesium_EdgeGenerator_H__
#define _OCesium_EdgeGenerator_H__

#include "osg.h"
#include "BatchGeode.h"

namespace OCPP
{
    namespace Cesium
    {
        class EdgeGenerator : public osg::Referenced
        {
        public:
            void addEdge(osg::Vec3 p1, osg::Vec3 p2);
            void merge(osg::Geometry* geom, osg::PrimitiveSet* set);
            bool isEdge(osg::Vec3 p1, osg::Vec3 p2);
            osg::ref_ptr<osg::Vec3Array>        mPosition;
            std::map<std::string, std::string>  mEdges;
            std::map<osg::Vec3, std::string>    mEdgesFirstPoint;
            std::map<osg::Vec3, std::string>    mEdgesSecondPoint;
            void genEdgeSet(BatchGeodeList& mBatchGeodeList);
        };
    }
}

#endif // !1
